Allgemeines zur Indizierung
Indizes sind einer der wichtigsten Faktoren hinsichtlich der Leistungsfähigkeit einer Datenbank. Aufgrund der Komplexität dieses Themas soll hier nur ein Überblick über die Grundlagen gegeben werden, mit diesem Thema befassen sich viele gute Bücher, die ausführliche Hintergrundinformationen bieten. Die beiden hier betrachteten SQL-Servertypen sind vom Typ clustered und nonclustered. Bei der Entscheidung, welche Art von Index verwendet werden soll, empfiehlt es sich Datentyp und Matrix zu beachten. Ebenso muss Art und Frequenz zukünftiger Abfragen berücksichtigt werden.
Welche Art von Index?
Bei Datensätzen mit einer hohen Anzahl gleicher Werte, auf die in einer bestimmten Reihenfolge zugegriffen wird, eignet sich der clustered Index am besten. Der SQL-Server sortiert die Datenreihen in aufsteigender (Standardeinstellung) oder absteigender Reihenfolge, somit können sie schnell wiedergefunden werden. Aufgrund dieses Vorgangs kann für jede Tabelle nur ein clustered Index erstellt werden.
Umgekehrt bedeutet dies, dass man für Datensätze mit vielen verschiedenen Werten eher einen Index des Typs nonclustered verwendet. Pro Tabelle können hier bis zu 249 Indizes erstellt werden, auch wenn diese Zahl in der Praxis kaum vorkommen dürfte.
Wenn in einer Tabelle Primärschlüssel vorkommen, erstellt der SQL-Server automatisch einen einzelnen Cluster-Index, bei dem diese Schlüssel miteinbezogen werden (Standardeinstellung). Die Eindeutigkeit des Primärschlüssels wird durch die Erstellung des Index für die Spalte(n) gewährleistet. Bei der Erstellung von Relationen mit Fremdschlüsseln empfiehlt es sich, einen nonclustered Index zu erstellen – vor allem wenn dieser oft für Joins verwendet werden soll. Tabellen mit einem clustered Index halten die Relation zwischen den Datensätzen über eine verknüpfte Liste aufrecht (z.B. auf Leaf- oder Nonleaf-Ebene). Umgekehrt wird der SQL-Server bei einer Tabelle ohne clustered Index die Datensätze in einem Heap speichern.
Neueste Kommentare
Noch keine Kommentare zu Tipps zur Optimierung von SQL-Server-Indizes
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.